package cn.hy.机考.part03;

import java.util.Scanner;

/**
 * @author hy
 * 二十三、篮球比赛
 * 现有 10 个球员准备分为两队进行训练赛，教练希望 2 个队伍的战斗力差值能够 尽可能的小，
 * 以达到最佳训练效果。给出 10 个球员的战斗力，如果你是教练，你该如何分队， 才能达到最佳训练效果? 请说出该分队方案下的最小战斗力差值。
 * 输入描述:10 个篮球队员的战斗力(整数，范围[1,10000]),战斗力之间用空格分隔
 * 输出描述:最小的战斗力差值，如:1
 * 10 9 8 7 6 5 4 3 2 1
 * 输出:1
 */
public class Demo23 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int num = 10;
            int count = 0;
            int[] arr = new int[num];
            for (int i = 0 ; i < num ; i++) {
                arr[i] = sc.nextInt();
                count += arr[i];
            }
            int min = Integer.MAX_VALUE;
            for (int i = 0 ; i < 6 ; i++) {
                for (int j = i + 1 ; j < 7 ; j++) {
                    for (int k = j + 1 ; k < 8 ; k++) {
                        for (int l = k + 1 ; l < 9 ; l++) {
                            for (int m = k + 1; m < 10 ; m++) {
                                int sum = arr[i] + arr[j] + arr[k] + arr[l] + arr[m];
                                min = Math.min(min, Math.abs(count - sum * 2));
                            }
                        }
                    }
                }
            }
            System.out.println(min);
        }
    }
}
